home *** CD-ROM | disk | FTP | other *** search
- {***********************************************************************}
- { }
- { Microsoft Multimedia System Structures and Constants }
- { Links to the mmsystem.dll in the Microsoft Multimedia Extensions }
- { Converted by Steve Milton @ ISOMEDIA, Inc. for use with }
- { Borland's Turbo Pascal for Windows }
- { }
- { These units are provided as-is with no warranty. Any damages to }
- { equipment, peripherals, software, or anything else is solely the }
- { responsibility of the user. }
- { }
- { Microsoft Multimedia Extensions is a trademark of Microsoft, Corp. }
- { Turbo Pascal for Windows is a trademakr of Borland International }
- { }
- {***********************************************************************}
-
- UNIT MMTypes;
-
- INTERFACE
-
- uses WinTypes;
-
- CONST
- SND_SYNC = $0000; { play synchronously (default) }
- SND_ASYNC = $0001; { play asynchronously }
- SND_NODEFAULT = $0002; { don't use default sound }
- SND_MEMORY = $0004; { lpszSoundName points to a memory file }
- SND_LOOP = $0008; { loop the sound until next sndPlaySound }
- SND_NOSTOP = $0010; { don't stop any currently playing sound }
-
- MAXPNAMELEN = 32; { max product name length (including NULL) }
- MAXERRORLENGTH = 128; { max error text length (including NULL) }
-
- TIME_MS = $0001; { time in milliseconds }
- TIME_SAMPLES = $0002; { number of wave samples }
- TIME_BYTES = $0004; { current byte offset }
- TIME_SMPTE = $0008; { SMPTE time }
- TIME_MIDI = $0010; { MIDI time }
-
- {****************************************************************************
-
- Multimedia Extensions Window Messages
-
- ***************************************************************************}
-
- MM_JOY1MOVE = $03A0; { joystick }
- MM_JOY2MOVE = $03A1;
- MM_JOY1ZMOVE = $03A2;
- MM_JOY2ZMOVE = $03A3;
- MM_JOY1BUTTONDOWN = $03B5;
- MM_JOY2BUTTONDOWN = $03B6;
- MM_JOY1BUTTONUP = $03B7;
- MM_JOY2BUTTONUP = $03B8;
-
- MM_MCINOTIFY = $03B9; { MCI }
- MM_MCISYSTEM_STRING = $03CA;
-
- MM_WOM_OPEN = $03BB; { waveform output }
- MM_WOM_CLOSE = $03BC;
- MM_WOM_DONE = $03BD;
-
- MM_WIM_OPEN = $03BE; { waveform input }
- MM_WIM_CLOSE = $03BF;
- MM_WIM_DATA = $03C0;
-
- MM_MIM_OPEN = $03C1; { MIDI input }
- MM_MIM_CLOSE = $03C2;
- MM_MIM_DATA = $03C3;
- MM_MIM_LONGDATA = $03C4;
- MM_MIM_ERROR = $03C5;
- MM_MIM_LONGERROR = $03C6;
-
- MM_MOM_OPEN = $03C7; { MIDI output }
- MM_MOM_CLOSE = $03C8;
- MM_MOM_DONE = $03C9;
-
-
- {***************************************************************************
-
- String resource number bases (internal use)
-
- ***************************************************************************}
-
- MMSYSERR_BASE = 0;
- WAVERR_BASE = 32;
- MIDIERR_BASE = 64;
- TIMERR_BASE = 96;
- JOYERR_BASE = 160;
- MCIERR_BASE = 256;
-
- MCI_STRING_OFFSET = 512;
- MCI_VD_OFFSET = 1024;
- MCI_CD_OFFSET = 1088;
- MCI_WAVE_OFFSET = 1152;
- MCI_SEQ_OFFSET = 1216;
-
- {***************************************************************************
-
- General error return values
-
- ***************************************************************************}
-
- { general error return values }
- MMSYSERR_NOERROR = 0; { no error }
- MMSYSERR_ERROR = (MMSYSERR_BASE + 1); { unspecified error }
- MMSYSERR_BADDEVICEID= (MMSYSERR_BASE + 2); { device ID out of range }
- MMSYSERR_NOTENABLED = (MMSYSERR_BASE + 3); { driver failed enable }
- MMSYSERR_ALLOCATED = (MMSYSERR_BASE + 4); { device already allocated}
- MMSYSERR_INVALHANDLE= (MMSYSERR_BASE + 5); { device handle is invalid}
- MMSYSERR_NODRIVER = (MMSYSERR_BASE + 6); { no device driver present}
- MMSYSERR_NOMEM = (MMSYSERR_BASE + 7); { memory allocation error }
- MMSYSERR_NOTSUPPORTED= (MMSYSERR_BASE + 8); { function isn't supported}
- MMSYSERR_BADERRNUM = (MMSYSERR_BASE + 9); { error value out of range}
- MMSYSERR_LASTERROR = (MMSYSERR_BASE + 9); { last error in range }
-
-
- {***************************************************************************
-
- Installable driver support
-
- ***************************************************************************}
-
- { return values from DriverProc() function }
- DRV_CANCEL = $0000;
- DRV_OK = $0001;
- DRV_RESTART = $0002;
-
- { messages sent to DriverProc() function }
- DRV_LOAD = $0001;
- DRV_ENABLE = $0002;
- DRV_OPEN = $0003;
- DRV_CLOSE = $0004;
- DRV_DISABLE = $0005;
- DRV_FREE = $0006;
- DRV_CONFIGURE = $0007;
- DRV_QUERYCONFIGURE = $0008;
- DRV_INSTALL = $0009;
- DRV_REMOVE = $000A;
-
- DRV_RESERVED = $0800;
-
- DRV_MCI_FIRST = DRV_RESERVED;
- DRV_MCI_LAST = (DRV_RESERVED + $0FFF);
-
- DRV_USER = $4000;
-
- {***************************************************************************
-
- Driver callback support
-
- ***************************************************************************}
-
- { flags used with waveOutOpen(), waveInOpen(), midiInOpen(), and }
- { midiOutOpen() to specify the type of the dwCallback parameter. }
- CALLBACK_TYPEMASK = $00070000; { callback type mask }
- CALLBACK_NULL = $00000000; { no callback }
- CALLBACK_WINDOW = $00010000; { dwCallback is a HWND }
- CALLBACK_TASK = $00020000; { dwCallback is a HTASK }
- CALLBACK_FUNCTION = $00030000; { dwCallback is a FARPROC }
- {***************************************************************************
-
- Manufacturer and product IDs
-
- Used with wMid and wPid fields in WAVEOUTCAPS, WAVEINCAPS,
- MIDIOUTCAPS, MIDIINCAPS, AUXCAPS, JOYCAPS structures.
-
- ***************************************************************************}
-
- { manufacturer IDs }
- MM_MICROSOFT = 1; { Microsoft Corp.
-
- { product IDs }
- MM_MIDI_MAPPER = 1; { MIDI Mapper }
- MM_WAVE_MAPPER = 2; { Wave Mapper }
-
- MM_SNDBLST_MIDIOUT = 3; { Sound Blaster MIDI output port }
- MM_SNDBLST_MIDIIN = 4; { Sound Blaster MIDI input port }
- MM_SNDBLST_SYNTH = 5; { Sound Blaster internal synthesizer }
- MM_SNDBLST_WAVEOUT = 6; { Sound Blaster waveform output }
- MM_SNDBLST_WAVEIN = 7; { Sound Blaster waveform input }
-
- MM_ADLIB = 9; { Ad Lib-compatible synthesizer }
-
- MM_MPU401_MIDIOUT = 10; { MPU401-compatible MIDI output port }
- MM_MPU401_MIDIIN = 11; { MPU401-compatible MIDI input port }
-
- MM_PC_JOYSTICK = 12; { Joystick adapter }
-
- { waveform audio error return values }
- WAVERR_BADFORMAT = (WAVERR_BASE + 0); { unsupported wave format }
- WAVERR_STILLPLAYING = (WAVERR_BASE + 1); { still something playing }
- WAVERR_UNPREPARED = (WAVERR_BASE + 2); { header not prepared }
- WAVERR_LASTERROR = (WAVERR_BASE + 2); { last error in range }
-
- { wave callback messages }
- WOM_OPEN = MM_WOM_OPEN;
- WOM_CLOSE = MM_WOM_CLOSE;
- WOM_DONE = MM_WOM_DONE;
- WIM_OPEN = MM_WIM_OPEN;
- WIM_CLOSE = MM_WIM_CLOSE;
- WIM_DATA = MM_WIM_DATA;
-
- { device ID for wave device mapper }
- WAVE_MAPPER = -1;
-
- { flags for dwFlags parameter in waveOutOpen() and waveInOpen() }
- WAVE_FORMAT_QUERY = $0001;
-
- { flags for dwFlags field of WAVEHDR }
- WHDR_DONE = $00000001; { done bit }
- WHDR_PREPARED = $00000002; { set if this header has been prepared }
- WHDR_BEGINLOOP = $00000004; { loop start block }
- WHDR_ENDLOOP = $00000008; { loop end block }
- WHDR_INQUEUE = $00000010; { reserved for driver }
-
- { flags for dwSupport field of WAVEOUTCAPS }
- WAVECAPS_PITCH = $0001; { supports pitch control }
- WAVECAPS_PLAYBACKRATE = $0002; { supports playback rate control }
- WAVECAPS_VOLUME = $0004; { supports volume control }
- WAVECAPS_LRVOLUME = $0008; { separate left-right volume control}
-
- { defines for dwFormat field of WAVEINCAPS and WAVEOUTCAPS }
- WAVE_INVALIDFORMAT = $00000000; { invalid format }
- WAVE_FORMAT_1M08 = $00000001; { 11.025 kHz, Mono, 8-bit }
- WAVE_FORMAT_1S08 = $00000002; { 11.025 kHz, Stereo, 8-bit }
- WAVE_FORMAT_1M16 = $00000004; { 11.025 kHz, Mono, 16-bit }
- WAVE_FORMAT_1S16 = $00000008; { 11.025 kHz, Stereo, 16-bit }
- WAVE_FORMAT_2M08 = $00000010; { 22.05 kHz, Mono, 8-bit }
- WAVE_FORMAT_2S08 = $00000020; { 22.05 kHz, Stereo, 8-bit }
- WAVE_FORMAT_2M16 = $00000040; { 22.05 kHz, Mono, 16-bit }
- WAVE_FORMAT_2S16 = $00000080; { 22.05 kHz, Stereo, 16-bit }
- WAVE_FORMAT_4M08 = $00000100; { 44.1 kHz, Mono, 8-bit }
- WAVE_FORMAT_4S08 = $00000200; { 44.1 kHz, Stereo, 8-bit }
- WAVE_FORMAT_4M16 = $00000400; { 44.1 kHz, Mono, 16-bit }
- WAVE_FORMAT_4S16 = $00000800; { 44.1 kHz, Stereo, 16-bit }
-
- { flags for wFormatTag field of WAVEFORMAT }
- WAVE_FORMAT_PCM = 1;
-
- { MIDI error return values }
- MIDIERR_UNPREPARED =(MIDIERR_BASE + 0); { header not prepared }
- MIDIERR_STILLPLAYING =(MIDIERR_BASE + 1); { still something playing }
- MIDIERR_NOMAP =(MIDIERR_BASE + 2); { no current map }
- MIDIERR_NOTREADY =(MIDIERR_BASE + 3); { hardware is still busy }
- MIDIERR_NODEVICE =(MIDIERR_BASE + 4); { port no longer connected }
- MIDIERR_LASTERROR =(MIDIERR_BASE + 4); { last error in range }
-
- { MIDI callback messages }
- MIM_OPEN = MM_MIM_OPEN;
- MIM_CLOSE = MM_MIM_CLOSE;
- MIM_DATA = MM_MIM_DATA;
- MIM_LONGDATA = MM_MIM_LONGDATA;
- MIM_ERROR = MM_MIM_ERROR;
- MIM_LONGERROR = MM_MIM_LONGERROR;
- MOM_OPEN = MM_MOM_OPEN;
- MOM_CLOSE = MM_MOM_CLOSE;
- MOM_DONE = MM_MOM_DONE;
-
- { device ID for MIDI mapper }
- MIDIMAPPER = (-1);
-
- MOD_MIDIPORT = 1; { output port }
- MOD_SYNTH = 2; { generic internal synth }
- MOD_SQSYNTH = 3; { square wave internal synth }
- MOD_FMSYNTH = 4; { FM internal synth }
- MOD_MAPPER = 5; { MIDI mapper }
-
- { flags for dwSupport field of MIDIOUTCAPS structure }
- MIDICAPS_VOLUME = $0001; { supports volume control }
- MIDICAPS_LRVOLUME = $0002; { separate left-right volume control}
-
- { flags for dwFlags field of MIDIHDR structure }
- MHDR_DONE = $00000001; { done bit }
- MHDR_PREPARED = $00000002; { set if header prepared }
- MHDR_INQUEUE = $00000004; { reserved for driver }
-
- { flags for wTechnology field in AUXCAPS structure }
- AUXCAPS_CDAUDIO = 1; { audio from internal CD-ROM drive }
- AUXCAPS_AUXIN = 2; { audio from auxiliary input jacks }
-
- { flags for dwSupport field in AUXCAPS structure }
- AUXCAPS_VOLUME = $0001; { supports volume control }
- AUXCAPS_LRVOLUME = $0002; { separate left-right volume control }
-
- { timer error return values }
- TIMERR_NOERROR = (0); { no error }
- TIMERR_NOCANDO = (TIMERR_BASE+1); { request not completed }
- TIMERR_STRUCT = (TIMERR_BASE+33); { time struct size }
-
- { flags for wFlags parameter of timeSetEvent() function }
- TIME_ONESHOT = 0; { program timer for single event }
- TIME_PERIODIC = 1; { program for continuous periodic event }
-
- { joystick error return values }
- JOYERR_NOERROR = (0); { no error }
- JOYERR_PARMS = (JOYERR_BASE+5); { bad parameters }
- JOYERR_NOCANDO = (JOYERR_BASE+6); { request not completed }
- JOYERR_UNPLUGGED = (JOYERR_BASE+7); { joystick is unplugged }
-
- { constants used with JOYINFO structure and MM_JOY* messages }
- JOY_BUTTON1 = $0001;
- JOY_BUTTON2 = $0002;
- JOY_BUTTON3 = $0004;
- JOY_BUTTON4 = $0008;
- JOY_BUTTON1CHG = $0100;
- JOY_BUTTON2CHG = $0200;
- JOY_BUTTON3CHG = $0400;
- JOY_BUTTON4CHG = $0800;
-
- { joystick ID constants }
- JOYSTICKID1 = 0;
- JOYSTICKID2 = 1;
-
- { MMIO error return values }
- MMIOERR_BASE = 256;
- MMIOERR_FILENOTFOUND = (MMIOERR_BASE + 1); { file not found }
- MMIOERR_OUTOFMEMORY = (MMIOERR_BASE + 2); { out of memory }
- MMIOERR_CANNOTOPEN = (MMIOERR_BASE + 3); { cannot open }
- MMIOERR_CANNOTCLOSE = (MMIOERR_BASE + 4); { cannot close }
- MMIOERR_CANNOTREAD = (MMIOERR_BASE + 5); { cannot read }
- MMIOERR_CANNOTWRITE = (MMIOERR_BASE + 6); { cannot write }
- MMIOERR_CANNOTSEEK = (MMIOERR_BASE + 7); { cannot seek }
- MMIOERR_CANNOTEXPAND = (MMIOERR_BASE + 8); { cannot expand file }
- MMIOERR_CHUNKNOTFOUND = (MMIOERR_BASE + 9); { chunk not found }
- MMIOERR_UNBUFFERED = (MMIOERR_BASE + 10); { file is unbuffered }
-
- { MMIO constants }
- CFSEPCHAR = '+'; { compound file name separator char. }
-
- { bit field masks }
- MMIO_RWMODE = $00000003; { open file for reading/writing/both }
- MMIO_SHAREMODE = $00000070; { file sharing mode number }
-
- { constants for dwFlags field of MMIOINFO }
- MMIO_CREATE = $00001000; { create new file (or truncate file) }
- MMIO_DELETE = $00000200; { create new file (or truncate file) }
- MMIO_ALLOCBUF = $00010000; { mmioOpen() should allocate a buffer}
-
- MMIO_DIRTY = $10000000; { I/O buffer is dirty }
-
- { read/write mode numbers (bit field MMIO_RWMODE) }
- MMIO_READ = $00000000; { open file for reading only }
- MMIO_WRITE = $00000001; { open file for writing only }
- MMIO_READWRITE = $00000002; { open file for reading and writing }
-
- { share mode numbers (bit field MMIO_SHAREMODE) }
- MMIO_COMPAT = $00000000; { compatibility mode }
- MMIO_EXCLUSIVE = $00000010; { exclusive-access mode }
- MMIO_DENYWRITE = $00000020; { deny writing to other processes }
- MMIO_DENYREAD = $00000030; { deny reading to other processes }
- MMIO_DENYNONE = $00000040; { deny nothing to other processes }
-
- { various MMIO flags }
- MMIO_FHOPEN = $0010; { mmioClose: keep file handle open }
- MMIO_EMPTYBUF = $0010; { mmioFlush: empty the I/O buffer }
- MMIO_TOUPPER = $0010; { mmioStringToFOURCC: to u-case }
- MMIO_INSTALLPROC = $00010000; { mmioInstallIOProc: install MMIOProc}
- MMIO_REMOVEPROC = $00020000; { mmioInstallIOProc: remove MMIOProc }
- MMIO_FINDPROC = $00040000; { mmioInstallIOProc: find an MMIOProc}
- MMIO_FINDCHUNK = $0010; { mmioDescend: find a chunk by ID }
- MMIO_FINDRIFF = $0020; { mmioDescend: find a LIST chunk }
- MMIO_FINDLIST = $0040; { mmioDescend: find a RIFF chunk }
- MMIO_CREATERIFF = $0020; { mmioCreateChunk: make a LIST chunk }
- MMIO_CREATELIST = $0040; { mmioCreateChunk: make a RIFF chunk }
-
- { message numbers for MMIOPROC I/O procedure functions }
- MMIOM_READ = MMIO_READ; { read }
- MMIOM_WRITE = MMIO_WRITE; { write }
- MMIOM_SEEK = 2; { seek to a new position in file }
- MMIOM_OPEN = 3; { open file }
- MMIOM_CLOSE = 4; { close file }
- MMIOM_WRITEFLUSH = 5; { write and flush }
- MMIOM_USER = $8000; { beginning of user-defined messages }
-
- { flags for mmioSeek() }
- SEEK_SET = 0; { seek to an absolute position }
- SEEK_CUR = 1; { seek relative to current position }
- SEEK_END = 2; { seek relative to end of file }
-
- { other constants }
- MMIO_DEFAULTBUFFER = 8192; { default buffer size }
-
- { MCI error return values }
- MCIERR_INVALID_DEVICE_ID = (MCIERR_BASE + 1);
- MCIERR_UNRECOGNIZED_KEYWORD = (MCIERR_BASE + 3);
- MCIERR_UNRECOGNIZED_COMMAND = (MCIERR_BASE + 5);
- MCIERR_HARDWARE = (MCIERR_BASE + 6);
- MCIERR_INVALID_DEVICE_NAME = (MCIERR_BASE + 7);
- MCIERR_OUT_OF_MEMORY = (MCIERR_BASE + 8);
- MCIERR_DEVICE_OPEN = (MCIERR_BASE + 9);
- MCIERR_CANNOT_LOAD_DRIVER = (MCIERR_BASE + 10);
- MCIERR_MISSING_COMMAND_STRING = (MCIERR_BASE + 11);
- MCIERR_PARAM_OVERFLOW = (MCIERR_BASE + 12);
- MCIERR_MISSING_STRING_ARGUMENT= (MCIERR_BASE + 13);
- MCIERR_BAD_INTEGER = (MCIERR_BASE + 14);
- MCIERR_PARSER_INTERNAL = (MCIERR_BASE + 15);
- MCIERR_DRIVER_INTERNAL = (MCIERR_BASE + 16);
- MCIERR_MISSING_PARAMETER = (MCIERR_BASE + 17);
- MCIERR_UNSUPPORTED_FUNCTION = (MCIERR_BASE + 18);
- MCIERR_FILE_NOT_FOUND = (MCIERR_BASE + 19);
- MCIERR_DEVICE_NOT_READY = (MCIERR_BASE + 20);
- MCIERR_INTERNAL = (MCIERR_BASE + 21);
- MCIERR_DRIVER = (MCIERR_BASE + 22);
- MCIERR_CANNOT_USE_ALL = (MCIERR_BASE + 23);
- MCIERR_MULTIPLE = (MCIERR_BASE + 24);
- MCIERR_EXTENSION_NOT_FOUND = (MCIERR_BASE + 25);
- MCIERR_OUTOFRANGE = (MCIERR_BASE + 26);
- MCIERR_FLAGS_NOT_COMPATIBLE = (MCIERR_BASE + 28);
- MCIERR_FILE_NOT_SAVED = (MCIERR_BASE + 30);
- MCIERR_DEVICE_TYPE_REQUIRED = (MCIERR_BASE + 31);
- MCIERR_DEVICE_LOCKED = (MCIERR_BASE + 32);
- MCIERR_DUPLICATE_ALIAS = (MCIERR_BASE + 33);
- MCIERR_BAD_CONSTANT = (MCIERR_BASE + 34);
- MCIERR_MUST_USE_SHAREABLE = (MCIERR_BASE + 35);
- MCIERR_MISSING_DEVICE_NAME = (MCIERR_BASE + 36);
- MCIERR_BAD_TIME_FORMAT = (MCIERR_BASE + 37);
- MCIERR_NO_CLOSING_QUOTE = (MCIERR_BASE + 38);
- MCIERR_DUPLICATE_FLAGS = (MCIERR_BASE + 39);
- MCIERR_INVALID_FILE = (MCIERR_BASE + 40);
- MCIERR_NULL_PARAMETER_BLOCK = (MCIERR_BASE + 41);
- MCIERR_UNNAMED_RESOURCE = (MCIERR_BASE + 42);
- MCIERR_NEW_REQUIRES_ALIAS = (MCIERR_BASE + 43);
- MCIERR_NOTIFY_ON_AUTO_OPEN = (MCIERR_BASE + 44);
- MCIERR_NO_ELEMENT_ALLOWED = (MCIERR_BASE + 45);
- MCIERR_NONAPPLICABLE_FUNCTION = (MCIERR_BASE + 46);
- MCIERR_ILLEGAL_FOR_AUTO_OPEN = (MCIERR_BASE + 47);
- MCIERR_FILENAME_REQUIRED = (MCIERR_BASE + 48);
- MCIERR_EXTRA_CHARACTERS = (MCIERR_BASE + 49);
-
- MCIERR_WAVE_OUTPUTSINUSE = (MCIERR_BASE + 64);
- MCIERR_WAVE_SETOUTPUTINUSE = (MCIERR_BASE + 65);
- MCIERR_WAVE_INPUTSINUSE = (MCIERR_BASE + 66);
- MCIERR_WAVE_SETINPUTINUSE = (MCIERR_BASE + 67);
- MCIERR_WAVE_OUTPUTUNSPECIFIED = (MCIERR_BASE + 68);
- MCIERR_WAVE_INPUTUNSPECIFIED = (MCIERR_BASE + 69);
- MCIERR_WAVE_OUTPUTSUNSUITABLE = (MCIERR_BASE + 70);
- MCIERR_WAVE_SETOUTPUTUNSUITABLE = (MCIERR_BASE + 71);
- MCIERR_WAVE_INPUTSUNSUITABLE = (MCIERR_BASE + 72);
- MCIERR_WAVE_SETINPUTUNSUITABLE = (MCIERR_BASE + 73);
-
- MCIERR_SEQ_DIV_INCOMPATIBLE = (MCIERR_BASE + 80);
- MCIERR_SEQ_PORT_INUSE = (MCIERR_BASE + 81);
- MCIERR_SEQ_PORT_NONEXISTENT = (MCIERR_BASE + 82);
- MCIERR_SEQ_PORT_MAPNODEVICE = (MCIERR_BASE + 83);
- MCIERR_SEQ_PORT_MISCERROR = (MCIERR_BASE + 84);
- MCIERR_SEQ_TIMER = (MCIERR_BASE + 85);
- MCIERR_SEQ_PORTUNSPECIFIED = (MCIERR_BASE + 86);
-
- MCIERR_NO_WINDOW = (MCIERR_BASE + 90);
- MCIERR_CREATEWINDOW = (MCIERR_BASE + 91);
- MCIERR_FILE_READ = (MCIERR_BASE + 92);
- MCIERR_FILE_WRITE = (MCIERR_BASE + 93);
-
- { all custom device driver errors must be >= than this value }
- MCIERR_CUSTOM_DRIVER_BASE = (MCIERR_BASE + 256);
-
- { MCI command message identifiers }
- MCI_OPEN = $0803;
- MCI_CLOSE = $0804;
- MCI_ESCAPE = $0805;
- MCI_PLAY = $0806;
- MCI_SEEK = $0807;
- MCI_STOP = $0808;
- MCI_PAUSE = $0809;
- MCI_INFO = $080A;
- MCI_GETDEVCAPS = $080B;
- MCI_SPIN = $080C;
- MCI_SET = $080D;
- MCI_STEP = $080E;
- MCI_RECORD = $080F;
- MCI_SYSINFO = $0810;
- MCI_BREAK = $0811;
- MCI_SOUND = $0812;
- MCI_SAVE = $0813;
- MCI_STATUS = $0814;
- MCI_CUE = $0830;
- MCI_REALIZE = $0840;
- MCI_WINDOW = $0841;
- MCI_PUT = $0842;
- MCI_WHERE = $0843;
- MCI_FREEZE = $0844;
- MCI_UNFREEZE = $0845;
- MCI_LOAD = $0850;
- MCI_CUT = $0851;
- MCI_COPY = $0852;
- MCI_PASTE = $0853;
- MCI_UPDATE = $0854;
- MCI_RESUME = $0855;
- MCI_DELETE = $0856;
-
- { all custom MCI command messages must be >= than this value }
- MCI_USER_MESSAGES = ($0400 + DRV_MCI_FIRST);
-
-
- { device ID for "all devices" }
- MCI_ALL_DEVICE_ID = $FFFF;
-
- { constants for predefined MCI device types }
- MCI_DEVTYPE_VCR = (MCI_STRING_OFFSET + 1);
- MCI_DEVTYPE_VIDEODISC = (MCI_STRING_OFFSET + 2);
- MCI_DEVTYPE_OVERLAY = (MCI_STRING_OFFSET + 3);
- MCI_DEVTYPE_CD_AUDIO = (MCI_STRING_OFFSET + 4);
- MCI_DEVTYPE_DAT = (MCI_STRING_OFFSET + 5);
- MCI_DEVTYPE_SCANNER = (MCI_STRING_OFFSET + 6);
- MCI_DEVTYPE_ANIMATION = (MCI_STRING_OFFSET + 7);
- MCI_DEVTYPE_DIGITAL_VIDEO = (MCI_STRING_OFFSET + 8);
- MCI_DEVTYPE_OTHER = (MCI_STRING_OFFSET + 9);
- MCI_DEVTYPE_WAVEFORM_AUDIO = (MCI_STRING_OFFSET + 10);
- MCI_DEVTYPE_SEQUENCER = (MCI_STRING_OFFSET + 11);
-
- MCI_DEVTYPE_FIRST = MCI_DEVTYPE_VCR;
- MCI_DEVTYPE_LAST = MCI_DEVTYPE_SEQUENCER;
-
- { return values for 'status mode' command }
- MCI_MODE_NOT_READY = (MCI_STRING_OFFSET + 12);
- MCI_MODE_STOP = (MCI_STRING_OFFSET + 13);
- MCI_MODE_PLAY = (MCI_STRING_OFFSET + 14);
- MCI_MODE_RECORD = (MCI_STRING_OFFSET + 15);
- MCI_MODE_SEEK = (MCI_STRING_OFFSET + 16);
- MCI_MODE_PAUSE = (MCI_STRING_OFFSET + 17);
- MCI_MODE_OPEN = (MCI_STRING_OFFSET + 18);
-
- { constants used in 'set time format' and 'status time format' commands}
- MCI_FORMAT_MILLISECONDS = 0;
- MCI_FORMAT_HMS = 1;
- MCI_FORMAT_MSF = 2;
- MCI_FORMAT_FRAMES = 3;
- MCI_FORMAT_SMPTE_24 = 4;
- MCI_FORMAT_SMPTE_25 = 5;
- MCI_FORMAT_SMPTE_30 = 6;
- MCI_FORMAT_SMPTE_30DROP = 7;
- MCI_FORMAT_BYTES = 8;
- MCI_FORMAT_SAMPLES = 9;
- MCI_FORMAT_TMSF = 10;
-
- { flags for wParam of MM_MCINOTIFY message }
- MCI_NOTIFY_SUCCESSFUL = $0001;
- MCI_NOTIFY_SUPERSEDED = $0002;
- MCI_NOTIFY_ABORTED = $0004;
- MCI_NOTIFY_FAILURE = $0008;
-
-
- { common flags for dwFlags parameter of MCI command messages }
- MCI_NOTIFY = $00000001;
- MCI_WAIT = $00000002;
- MCI_FROM = $00000004;
- MCI_TO = $00000008;
- MCI_TRACK = $00000010;
-
- { flags for dwFlags parameter of MCI_OPEN command message }
- MCI_OPEN_SHAREABLE = $00000100;
- MCI_OPEN_ELEMENT = $00000200;
- MCI_OPEN_ALIAS = $00000400;
- MCI_OPEN_ELEMENT_ID = $00000800;
- MCI_OPEN_TYPE_ID = $00001000;
- MCI_OPEN_TYPE = $00002000;
-
- { flags for dwFlags parameter of MCI_SEEK command message }
- MCI_SEEK_TO_START = $00000100;
- MCI_SEEK_TO_END = $00000200;
-
- { flags for dwFlags parameter of MCI_STATUS command message }
- MCI_STATUS_ITEM = $00000100;
- MCI_STATUS_START = $00000200;
-
- { flags for dwItem field of the MCI_STATUS_PARMS parameter block }
- MCI_STATUS_LENGTH = $00000001;
- MCI_STATUS_POSITION = $00000002;
- MCI_STATUS_NUMBER_OF_TRACKS = $00000003;
- MCI_STATUS_MODE = $00000004;
- MCI_STATUS_MEDIA_PRESENT = $00000005;
- MCI_STATUS_TIME_FORMAT = $00000006;
- MCI_STATUS_READY = $00000007;
- MCI_STATUS_CURRENT_TRACK = $00000008;
-
- { flags for dwFlags parameter of MCI_INFO command message }
- MCI_INFO_PRODUCT = $00000100;
- MCI_INFO_FILE = $00000200;
-
- { flags for dwFlags parameter of MCI_GETDEVCAPS command message }
- MCI_GETDEVCAPS_ITEM = $00000100;
-
- { flags for dwItem field of the MCI_GETDEVCAPS_PARMS parameter block }
- MCI_GETDEVCAPS_CAN_RECORD = $00000001;
- MCI_GETDEVCAPS_HAS_AUDIO = $00000002;
- MCI_GETDEVCAPS_HAS_VIDEO = $00000003;
- MCI_GETDEVCAPS_DEVICE_TYPE = $00000004;
- MCI_GETDEVCAPS_USES_FILES = $00000005;
- MCI_GETDEVCAPS_COMPOUND_DEVICE = $00000006;
- MCI_GETDEVCAPS_CAN_EJECT = $00000007;
- MCI_GETDEVCAPS_CAN_PLAY = $00000008;
- MCI_GETDEVCAPS_CAN_SAVE = $00000009;
-
- { flags for dwFlags parameter of MCI_SYSINFO command message }
- MCI_SYSINFO_QUANTITY = $00000100;
- MCI_SYSINFO_OPEN = $00000200;
- MCI_SYSINFO_NAME = $00000400;
- MCI_SYSINFO_INSTALLNAME = $00000800;
-
- { flags for dwFlags parameter of MCI_SET command message }
- MCI_SET_DOOR_OPEN = $00000100;
- MCI_SET_DOOR_CLOSED = $00000200;
- MCI_SET_TIME_FORMAT = $00000400;
- MCI_SET_AUDIO = $00000800;
- MCI_SET_VIDEO = $00001000;
- MCI_SET_ON = $00002000;
- MCI_SET_OFF = $00004000;
-
- { flags for dwAudio field of MCI_SET_PARMS or MCI_SEQ_SET_PARMS }
- MCI_SET_AUDIO_ALL = $00000000;
- MCI_SET_AUDIO_LEFT = $00000001;
- MCI_SET_AUDIO_RIGHT = $00000002;
-
- { flags for dwFlags parameter of MCI_BREAK command message }
- MCI_BREAK_KEY = $00000100;
- MCI_BREAK_HWND = $00000200;
- MCI_BREAK_OFF = $00000400;
-
- { flags for dwFlags parameter of MCI_RECORD command message }
- MCI_RECORD_INSERT = $00000100;
- MCI_RECORD_OVERWRITE = $00000200;
-
- { flags for dwFlags parameter of MCI_SOUND command message }
- MCI_SOUND_NAME = $00000100;
-
- { flags for dwFlags parameter of MCI_SAVE command message }
- MCI_SAVE_FILE = $00000100;
-
- { flags for dwFlags parameter of MCI_LOAD command message }
- MCI_LOAD_FILE = $00000100;
-
- { flag for dwReturn field of MCI_STATUS_PARMS }
- { MCI_STATUS command, (dwItem == MCI_STATUS_MODE) }
- MCI_VD_MODE_PARK = (MCI_VD_OFFSET + 1);
-
- { flag for dwReturn field of MCI_STATUS_PARMS }
- { MCI_STATUS command, (dwItem == MCI_VD_STATUS_MEDIA_TYPE) }
- MCI_VD_MEDIA_CLV = (MCI_VD_OFFSET + 2);
- MCI_VD_MEDIA_CAV = (MCI_VD_OFFSET + 3);
- MCI_VD_MEDIA_OTHER = (MCI_VD_OFFSET + 4);
-
- MCI_VD_FORMAT_TRACK = $4001;
-
- { flags for dwFlags parameter of MCI_PLAY command message }
- MCI_VD_PLAY_REVERSE = $00010000;
- MCI_VD_PLAY_FAST = $00020000;
- MCI_VD_PLAY_SPEED = $00040000;
- MCI_VD_PLAY_SCAN = $00080000;
- MCI_VD_PLAY_SLOW = $00100000;
-
- { flag for dwFlags parameter of MCI_SEEK command message }
- MCI_VD_SEEK_REVERSE = $00010000;
-
- { flags for dwItem field of MCI_STATUS_PARMS parameter block }
- MCI_VD_STATUS_SPEED = $00004002;
- MCI_VD_STATUS_FORWARD = $00004003;
- MCI_VD_STATUS_MEDIA_TYPE = $00004004;
- MCI_VD_STATUS_SIDE = $00004005;
- MCI_VD_STATUS_DISC_SIZE = $00004006;
-
- { flags for dwFlags parameter of MCI_GETDEVCAPS command message }
- MCI_VD_GETDEVCAPS_CLV = $00010000;
- MCI_VD_GETDEVCAPS_CAV = $00020000;
-
- MCI_VD_SPIN_UP = $00010000;
- MCI_VD_SPIN_DOWN = $00020000;
-
- { flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block }
- MCI_VD_GETDEVCAPS_CAN_REVERSE = $00004002;
- MCI_VD_GETDEVCAPS_FAST_RATE = $00004003;
- MCI_VD_GETDEVCAPS_SLOW_RATE = $00004004;
- MCI_VD_GETDEVCAPS_NORMAL_RATE = $00004005;
-
- { flags for the dwFlags parameter of MCI_STEP command message }
- MCI_VD_STEP_FRAMES = $00010000;
- MCI_VD_STEP_REVERSE = $00020000;
-
- { flag for the MCI_ESCAPE command message }
- MCI_VD_ESCAPE_STRING = $00000100;
-
- { flags for the dwFlags parameter of MCI_OPEN command message }
- MCI_WAVE_OPEN_BUFFER = $00010000;
-
- { flags for the dwFlags parameter of MCI_SET command message }
- MCI_WAVE_SET_FORMATTAG = $00010000;
- MCI_WAVE_SET_CHANNELS = $00020000;
- MCI_WAVE_SET_SAMPLESPERSEC = $00040000;
- MCI_WAVE_SET_AVGBYTESPERSEC = $00080000;
- MCI_WAVE_SET_BLOCKALIGN = $00100000;
- MCI_WAVE_SET_BITSPERSAMPLE = $00200000;
-
- { flags for the dwFlags parameter of MCI_STATUS, MCI_SET command messages}
- MCI_WAVE_INPUT = $00400000;
- MCI_WAVE_OUTPUT = $00800000;
-
- { flags for the dwItem field of MCI_STATUS_PARMS parameter block }
- MCI_WAVE_STATUS_FORMATTAG = $00004001;
- MCI_WAVE_STATUS_CHANNELS = $00004002;
- MCI_WAVE_STATUS_SAMPLESPERSEC = $00004003;
- MCI_WAVE_STATUS_AVGBYTESPERSEC = $00004004;
- MCI_WAVE_STATUS_BLOCKALIGN = $00004005;
- MCI_WAVE_STATUS_BITSPERSAMPLE = $00004006;
- MCI_WAVE_STATUS_LEVEL = $00004007;
-
- { flags for the dwFlags parameter of MCI_SET command message }
- MCI_WAVE_SET_ANYINPUT = $04000000;
- MCI_WAVE_SET_ANYOUTPUT = $08000000;
-
- { flags for the dwFlags parameter of MCI_GETDEVCAPS command message }
- MCI_WAVE_GETDEVCAPS_INPUTS = $00004001;
- MCI_WAVE_GETDEVCAPS_OUTPUTS = $00004002;
-
- { }
- { MCI extensions for MIDI sequencer devices }
- { }
-
- { flags for the dwReturn field of MCI_STATUS_PARMS parameter block }
- { MCI_STATUS command, (dwItem == MCI_SEQ_STATUS_DIVTYPE) }
- MCI_SEQ_DIV_PPQN = (0 + MCI_SEQ_OFFSET);
- MCI_SEQ_DIV_SMPTE_24 = (1 + MCI_SEQ_OFFSET);
- MCI_SEQ_DIV_SMPTE_25 = (2 + MCI_SEQ_OFFSET);
- MCI_SEQ_DIV_SMPTE_30DROP = (3 + MCI_SEQ_OFFSET);
- MCI_SEQ_DIV_SMPTE_30 = (4 + MCI_SEQ_OFFSET);
-
- { flags for the dwMaster field of MCI_SEQ_SET_PARMS parameter block }
- { MCI_SET command, (dwFlags == MCI_SEQ_SET_MASTER) }
- MCI_SEQ_FORMAT_SONGPTR = $4001;
- MCI_SEQ_FILE = $4002;
- MCI_SEQ_MIDI = $4003;
- MCI_SEQ_SMPTE = $4004;
- MCI_SEQ_NONE = 65533;
-
- { flags for the dwItem field of MCI_STATUS_PARMS parameter block }
- MCI_SEQ_STATUS_TEMPO = $00004002;
- MCI_SEQ_STATUS_PORT = $00004000;
- MCI_SEQ_STATUS_SLAVE = $00004007;
- MCI_SEQ_STATUS_MASTER = $00004008;
- MCI_SEQ_STATUS_OFFSET = $00004009;
- MCI_SEQ_STATUS_DIVTYPE = $0000400A;
-
- { flags for the dwFlags parameter of MCI_SET command message }
- MCI_SEQ_SET_TEMPO = $00010000;
- MCI_SEQ_SET_PORT = $00020000;
- MCI_SEQ_SET_SLAVE = $00040000;
- MCI_SEQ_SET_MASTER = $00080000;
- MCI_SEQ_SET_OFFSET = $01000000;
-
- { }
- { MCI extensions for animation devices }
- { }
-
- { flags for dwFlags parameter of MCI_OPEN command message }
- MCI_ANIM_OPEN_WS = $00010000;
- MCI_ANIM_OPEN_PARENT = $00020000;
- MCI_ANIM_OPEN_NOSTATIC = $00040000;
-
- { flags for dwFlags parameter of MCI_PLAY command message }
- MCI_ANIM_PLAY_SPEED = $00010000;
- MCI_ANIM_PLAY_REVERSE = $00020000;
- MCI_ANIM_PLAY_FAST = $00040000;
- MCI_ANIM_PLAY_SLOW = $00080000;
- MCI_ANIM_PLAY_SCAN = $00100000;
-
- { flags for dwFlags parameter of MCI_STEP command message }
- MCI_ANIM_STEP_REVERSE = $00010000;
- MCI_ANIM_STEP_FRAMES = $00020000;
-
- { flags for dwItem field of MCI_STATUS_PARMS parameter block }
- MCI_ANIM_STATUS_SPEED = $00004001;
- MCI_ANIM_STATUS_FORWARD = $00004002;
- MCI_ANIM_STATUS_HWND = $00004003;
- MCI_ANIM_STATUS_HPAL = $00004004;
- MCI_ANIM_STATUS_STRETCH = $00004005;
-
- { flags for the dwFlags parameter of MCI_INFO command message }
- MCI_ANIM_INFO_TEXT = $00010000;
-
- { flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block }
- MCI_ANIM_GETDEVCAPS_CAN_REVERSE = $00004001;
- MCI_ANIM_GETDEVCAPS_FAST_RATE = $00004002;
- MCI_ANIM_GETDEVCAPS_SLOW_RATE = $00004003;
- MCI_ANIM_GETDEVCAPS_NORMAL_RATE = $00004004;
- MCI_ANIM_GETDEVCAPS_PALETTES = $00004006;
- MCI_ANIM_GETDEVCAPS_CAN_STRETCH = $00004007;
- MCI_ANIM_GETDEVCAPS_MAX_WINDOWS = $00004008;
-
- { flags for the MCI_REALIZE command message }
- MCI_ANIM_REALIZE_NORM = $00010000;
- MCI_ANIM_REALIZE_BKGD = $00020000;
-
- { flags for dwFlags parameter of MCI_WINDOW command message }
- MCI_ANIM_WINDOW_HWND = $00010000;
- MCI_ANIM_WINDOW_STATE = $00040000;
- MCI_ANIM_WINDOW_TEXT = $00080000;
- MCI_ANIM_WINDOW_ENABLE_STRETCH = $00100000;
- MCI_ANIM_WINDOW_DISABLE_STRETCH = $00200000;
-
- { flags for hWnd field of MCI_ANIM_WINDOW_PARMS parameter block }
- { MCI_WINDOW command message, (dwFlags == MCI_ANIM_WINDOW_HWND) }
- MCI_ANIM_WINDOW_DEFAULT = $00000000;
-
- { flags for dwFlags parameter of MCI_PUT command message }
- MCI_ANIM_RECT = $00010000;
- MCI_ANIM_PUT_SOURCE = $00020000;
- MCI_ANIM_PUT_DESTINATION = $00040000;
-
- { flags for dwFlags parameter of MCI_WHERE command message }
- MCI_ANIM_WHERE_SOURCE = $00020000;
- MCI_ANIM_WHERE_DESTINATION = $00040000;
-
- { flags for dwFlags parameter of MCI_UPDATE command message }
- MCI_ANIM_UPDATE_HDC = $00020000;
-
- { }
- { MCI extensions for video overlay devices }
- { }
-
- { flags for dwFlags parameter of MCI_OPEN command message }
- MCI_OVLY_OPEN_WS = $00010000;
- MCI_OVLY_OPEN_PARENT = $00020000;
-
- { flags for dwFlags parameter of MCI_STATUS command message }
- MCI_OVLY_STATUS_HWND = $00004001;
- MCI_OVLY_STATUS_STRETCH = $00004002;
-
- { flags for dwFlags parameter of MCI_INFO command message }
- MCI_OVLY_INFO_TEXT = $00010000;
-
- { flags for dwItem field of MCI_GETDEVCAPS_PARMS parameter block }
- MCI_OVLY_GETDEVCAPS_CAN_STRETCH = $00004001;
- MCI_OVLY_GETDEVCAPS_CAN_FREEZE = $00004002;
- MCI_OVLY_GETDEVCAPS_MAX_WINDOWS = $00004003;
-
- { flags for dwFlags parameter of MCI_WINDOW command message }
- MCI_OVLY_WINDOW_HWND = $00010000;
- MCI_OVLY_WINDOW_STATE = $00040000;
- MCI_OVLY_WINDOW_TEXT = $00080000;
- MCI_OVLY_WINDOW_ENABLE_STRETCH = $00100000;
- MCI_OVLY_WINDOW_DISABLE_STRETCH = $00200000;
-
- { flags for hWnd parameter of MCI_OVLY_WINDOW_PARMS parameter block }
- MCI_OVLY_WINDOW_DEFAULT = $00000000;
-
- { flags for dwFlags parameter of MCI_PUT command message }
- MCI_OVLY_RECT = $00010000;
- MCI_OVLY_PUT_SOURCE = $00020000;
- MCI_OVLY_PUT_DESTINATION = $00040000;
- MCI_OVLY_PUT_FRAME = $00080000;
- MCI_OVLY_PUT_VIDEO = $00100000;
-
- { flags for dwFlags parameter of MCI_WHERE command message }
- MCI_OVLY_WHERE_SOURCE = $00020000;
- MCI_OVLY_WHERE_DESTINATION = $00040000;
- MCI_OVLY_WHERE_FRAME = $00080000;
- MCI_OVLY_WHERE_VIDEO = $00100000;
-
- TYPE
- LP_Longint = ^Longint;
- LP_WORD = ^WORD;
- FOURCC = LONGINT;
- H_PSTR = PChar;
- VERSION = WORD;
-
- LP_WAVEOUTCAPS = ^WAVEOUTCAPS;
- WAVEOUTCAPS = record
- wMid : WORD;
- wPid : WORD;
- vDriverVersion : VERSION;
- szPname : PChar;
- dwFormats : longint;
- wChannels : WORD;
- dwSupport : longint;
- end;
-
- H_WAVEOUT = THandle;
- LPH_WAVEOUT = ^H_WAVEOUT;
-
- LP_WAVEFORMAT = ^WAVEFORMAT;
- WAVEFORMAT = record
- wFormatTag : WORD;
- nChannels : WORD;
- nSamplesPerSec : LONGINT;
- nAvgBytesPerSec : LONGINT;
- nBlockAlign : WORD;
- end;
-
- LP_WAVEHDR = ^WAVEHDR;
- WAVEHDR = record
- lpData : pointer;
- dwBufferLength : longint;
- dwBytesRecorded : Longint;
- dwUser : longint;
- dwFlags : longint;
- dwLoops : longint;
- lpNext : pointer;
- reserved : longint;
- end;
-
- { MMTIME SUB RECORDS }
- smpte_rec = record
- hour, min, sec, frame, fps, dummy : BYTE;
- end;
-
- midi_rec = record
- songptrpos : pointer;
- end;
-
- u_rec = record
- ms : longint; { milliseconds}
- sample : longint; { samples}
- cb : longint; { byte count}
- SMPTE : smpte_rec;
- midi : midi_rec;
- end;
-
- LP_MMTIME = ^MMTIME;
- MMTIME = record
- wType : WORD; { indicates the contents of the union}
- u : u_rec;
- end;
-
- LP_WAVEINCAPS = ^WAVEINCAPS;
- WAVEINCAPS = record
- wMid : WORD;
- wPid : WORD;
- vDriverVersion : VERSION;
- szPname : PChar;
- dwFormats : LONGINT;
- wChannels : WORD;
- end;
-
- LPH_WAVEIN = ^H_WAVEIN;
- H_WAVEIN = THandle;
-
- LP_MIDIOUTCAPS = ^MIDIOUTCAPS;
- MIDIOUTCAPS = record
- wMid : WORD;
- wPid : WORD;
- vDriverVersion : VERSION;
- szPname : PChar;
- wTechnology : WORD;
- wVoices : WORD;
- wNotes : WORD;
- wChannelMask : WORD;
- dwSupport : LONGINT;
- end;
-
- LP_HMIDIOUT = ^H_MIDIOUT;
- H_MIDIOUT = THandle;
-
- LP_MIDIHDR = ^MIDIHDR;
- MIDIHDR = record
- lpData : pointer;
- dwBufferLength : longint;
- dwBytesRecorded : longint;
- dwUser : longint;
- dwFlags : longint;
- lpNext : pointer;
- reserved : longint;
- end;
-
- LP_MIDIINCAPS = ^MIDIINCAPS;
- MIDIINCAPS = record
- wMid : WORD;
- wPid : WORD;
- vDriverVersion : VERSION;
- szPname : PChar;
- end;
-
- LPH_MIDIIN = ^H_MIDIIN;
- H_MIDIIN = THandle;
-
- LP_AUXCAPS = ^AUXCAPS;
- AUXCAPS = record
- wMid : WORD;
- wPid : WORD;
- vDriverVersion : VERSION;
- szPname : PChar;
- wTechnology : WORD;
- dwSupport : longint;
- end;
-
- LP_TIMECALLBACK = TFarProc;
- { pointer to a function with the following syntax:
-
- function TimerCallBack(
- idTimer : WORD; // Timer ID
- msg : WORD; // not used
- dwUser : LONGINT; // User-instance data
- dw1, dw2 : LONGINT) : WORD; EXPORT; // not used
-
- return is not utilized.
- }
-
-
- LP_TIMECAPS = ^TIMECAPS;
- TIMECAPS = record
- wPeriodMin : WORD;
- wPeriodMax : WORD;
- end;
-
- LP_JOYCAPS = ^JOYCAPS;
- JOYCAPS = record
- wMid : WORD;
- wPid : WORD;
- szPname : PChar;
- wXmin : WORD;
- wXmax : WORD;
- wYmin : WORD;
- wYmax : WORD;
- wZmin : WORD;
- wZmax : WORD;
- wNumButtons : WORD;
- wPeriodMin : WORD;
- wPeriodMax : WORD;
- end;
-
- LP_JOYINFO = ^JOYINFO;
- JOYINFO = record
- wXpos : WORD;
- wYpos : WORD;
- wZpos : WORD;
- wButtons : WORD;
- end;
-
- LP_MMIOPROC = TFarProc;
-
- H_MMIO = THandle;
-
- LP_MMIOINFO = ^MMIOINFO;
- MMIOINFO = record
- { general fields }
- dwFlags : longint; { general status flags }
- fccIOProc : FOURCC; { pointer to I/O procedure }
- pIOProc : LP_MMIOPROC; { pointer to I/O procedure }
- wErrorRet : WORD; { place for error to be returned }
- wReserved : WORD; { for structure alignment }
-
- { fields maintained by MMIO functions during buffered I/O}
- cchBuffer : LONGINT; { size of I/O buffer (or 0L) }
- pchBuffer : H_PSTR; { start of I/O buffer (or NULL) }
- pchNext : H_PSTR; { pointer to next byte to read/write }
- pchEndRead : H_PSTR; { pointer to last valid byte to read }
- pchEndWrite : H_PSTR; { pointer to last byte to write }
- lBufOffset : longint; { disk offset of start of buffer }
-
- { fields maintained by I/O procedure}
- lDiskOffset : longint; { disk offset of next read or write }
- adwInfo : array [1..3] of longint; { data specific to type of MMIOPROC}
-
- { other fields maintained by MMIO}
- dwReserved1 : longint; { reserved for MMIO use }
- dwReserved2 : longint; { reserved for MMIO use }
- hmmio : H_MMIO; { handle to open file }
- end;
-
- LP_MMCKINFO = ^MMCKINFO;
- MMCKINFO = record
- ckid : FOURCC;
- cksize : longint;
- fcctype : FOURCC;
- dwDataOffset : LONGINT;
- dwFlags : LONGINT;
- end;
-
- YIELDPROC = TFarProc;
-
- { generic parameter block for MCI command messages with no special parameters}
- LP_MCI_GENERIC_PARMS = ^MCI_GENERIC_PARMS;
- MCI_GENERIC_PARMS = record
- dwCallBack : LONGINT;
- end;
-
- { parameter block for MCI_OPEN command message}
- MCI_OPEN_PARMS = record
- dwCallback : LONGINT;
- wDeviceID : WORD;
- wReserved0 : WORD;
- lpstrDeviceType : POINTER;
- lpstrElementName : POINTER;
- lpstrAlias : POINTER;
- end;
- LP_MCI_OPEN_PARMS = ^MCI_OPEN_PARMS;
-
- { parameter block for MCI_PLAY command message}
- MCI_PLAY_PARMS = record
- dwCallback : LONGINT;
- dwFrom : LONGINT;
- dwTo : LONGINT;
- end;
- LP_MCI_PLAY_PARMS = ^MCI_PLAY_PARMS;
-
- { parameter block for MCI_SEEK command message}
- MCI_SEEK_PARMS = record
- dwCallback : LONGINT;
- dwTo : LONGINT;
- end;
- LP_MCI_SEEK_PARMS = ^MCI_SEEK_PARMS;
-
- { parameter block for MCI_STATUS command message}
- MCI_STATUS_PARMS = record
- dwCallback : LONGINT;
- dwReturn : LONGINT;
- dwItem : LONGINT;
- dwTrack : LONGINT;
- end;
- LP_MCI_STATUS_PARMS = ^MCI_STATUS_PARMS;
-
- { parameter block for MCI_INFO command message}
- MCI_INFO_PARMS = record
- dwCallback : LONGINT;
- lpstrReturn : POINTER;
- dwRetSize : LONGINT;
- end;
- LP_MCI_INFO_PARMS = ^MCI_INFO_PARMS;
-
- { parameter block for MCI_GETDEVCAPS command message}
- MCI_GETDEVCAPS_PARMS = record
- dwCallback : LONGINT;
- dwReturn : LONGINT;
- dwItem : LONGINT;
- end;
- LP_MCI_GETDEVCAPS_PARMS = ^MCI_GETDEVCAPS_PARMS;
-
- { parameter block for MCI_SYSINFO command message}
- MCI_SYSINFO_PARMS = record
- dwCallback : LONGINT;
- lpstrReturn : POINTER;
- dwRetSize : LONGINT;
- dwNumber : LONGINT;
- wDeviceType : WORD;
- wReserved0 : WORD;
- end;
- LP_MCI_SYSINFO_PARMS = ^MCI_SYSINFO_PARMS;
-
- { parameter block for MCI_SET command message}
- MCI_SET_PARMS = record
- dwCallback : LONGINT;
- dwTimeFormat : LONGINT;
- dwAudio : LONGINT;
- end;
- LP_MCI_SET_PARMS = ^MCI_SET_PARMS;
-
- { parameter block for MCI_BREAK command message}
- MCI_BREAK_PARMS = record
- dwCallback : LONGINT;
- nVirtKey : INTEGER ;
- wReserved0 : WORD;
- hwndBreak : HWND;
- wReserved1 : WORD;
- end;
- LP_MCI_BREAK_PARMS = ^MCI_BREAK_PARMS;
-
- { parameter block for MCI_SOUND command message}
- MCI_SOUND_PARMS = record
- dwCallback : LONGINT;
- lpstrSoundName : POINTER;
- end;
- LP_MCI_SOUND_PARMS = ^MCI_SOUND_PARMS;
-
- { parameter block for MCI_SAVE command message}
- MCI_SAVE_PARMS = record
- dwCallback : LONGINT;
- lpfilename : POINTER;
- end;
- LP_MCI_SAVE_PARMS = ^MCI_SAVE_PARMS;
-
- { parameter block for MCI_LOAD command message}
- MCI_LOAD_PARMS = record
- dwCallback : LONGINT;
- lpfilename : POINTER;
- end;
- LP_MCI_LOAD_PARMS = ^MCI_LOAD_PARMS;
-
- { parameter block for MCI_RECORD command message}
- MCI_RECORD_PARMS = record
- dwCallback : LONGINT;
- dwFrom : LONGINT;
- dwTo : LONGINT;
- end;
- LP_MCI_RECORD_PARMS = ^MCI_RECORD_PARMS;
-
- {}
- { MCI extensions for videodisc devices}
- {}
-
- { parameter block for MCI_PLAY command message}
- MCI_VD_PLAY_PARMS = record
- dwCallback : LONGINT;
- dwFrom : LONGINT;
- dwTo : LONGINT;
- dwSpeed : LONGINT;
- end;
- LP_MCI_VD_PLAY_PARMS = ^MCI_VD_PLAY_PARMS;
-
- { parameter block for MCI_STEP command message}
- MCI_VD_STEP_PARMS = record
- dwCallback : LONGINT;
- dwFrames : LONGINT;
- end;
- LP_MCI_VD_STEP_PARMS = ^MCI_VD_STEP_PARMS;
-
- { parameter block for MCI_ESCAPE command message}
- MCI_VD_ESCAPE_PARMS = record
- dwCallback : LONGINT;
- lpstrCommand : POINTER;
- end;
- LP_MCI_VD_ESCAPE_PARMS = ^MCI_VD_ESCAPE_PARMS;
-
-
- {}
- { MCI extensions for waveform audio devices}
- {}
-
- { parameter block for MCI_OPEN command message}
- MCI_WAVE_OPEN_PARMS = record
- dwCallback : LONGINT;
- wDeviceID : WORD;
- wReserved0 : WORD;
- lpstrDeviceType : POINTER;
- lpstrElementName : POINTER;
- lpstrAlias : POINTER;
- dwBufferSeconds : LONGINT;
- end;
- LP_MCI_WAVE_OPEN_PARMS = ^MCI_WAVE_OPEN_PARMS;
-
- { parameter block for MCI_DELETE command message}
- MCI_WAVE_DELETE_PARMS = record
- dwCallback : LONGINT;
- dwFrom : LONGINT;
- dwTo : LONGINT;
- end;
- LP_MCI_WAVE_DELETE_PARMS = ^MCI_WAVE_DELETE_PARMS;
-
- { parameter block for MCI_SET command message}
- MCI_WAVE_SET_PARMS = record
- dwCallback : LONGINT;
- dwTimeFormat : LONGINT;
- dwAudio : LONGINT;
- wInput : WORD;
- wReserved0 : WORD;
- wOutput : WORD;
- wReserved1 : WORD;
- wFormatTag : WORD;
- wReserved2 : WORD;
- nChannels : WORD;
- wReserved3 : WORD;
- nSamplesPerSec : LONGINT;
- nAvgBytesPerSec : LONGINT;
- nBlockAlign : WORD;
- wReserved4 : WORD;
- wBitsPerSample : WORD;
- wReserved5 : WORD;
- end;
- LP_MCI_WAVE_SET_PARMS = ^MCI_WAVE_SET_PARMS;
-
-
- {}
- { MCI extensions for MIDI sequencer devices}
- {}
-
- { parameter block for MCI_SET command message}
- MCI_SEQ_SET_PARMS = record
- dwCallback : LONGINT;
- dwTimeFormat : LONGINT;
- dwAudio : LONGINT;
- dwTempo : LONGINT;
- dwPort : LONGINT;
- dwSlave : LONGINT;
- dwMaster : LONGINT;
- dwOffset : LONGINT;
- end;
- LP_MCI_SEQ_SET_PARMS = ^MCI_SEQ_SET_PARMS;
-
-
- {}
- { MCI extensions for animation devices}
- {}
-
- { parameter block for MCI_OPEN command message}
- MCI_ANIM_OPEN_PARMS = record
- dwCallback : LONGINT;
- wDeviceID : WORD;
- wReserved0 : WORD;
- lpstrDeviceType : POINTER;
- lpstrElementName : POINTER;
- lpstrAlias : POINTER;
- dwStyle : LONGINT;
- hWndParent : WORD;
- wReserved1 : WORD;
- end;
- LP_MCI_ANIM_OPEN_PARMS = ^MCI_ANIM_OPEN_PARMS;
-
- { parameter block for MCI_PLAY command message}
- MCI_ANIM_PLAY_PARMS = record
- dwCallback : LONGINT;
- dwFrom : LONGINT;
- dwTo : LONGINT;
- dwSpeed : LONGINT;
- end;
- LP_MCI_ANIM_PLAY_PARMS = ^MCI_ANIM_PLAY_PARMS;
-
- { parameter block for MCI_STEP command message}
- MCI_ANIM_STEP_PARMS = record
- dwCallback : LONGINT;
- dwFrames : LONGINT;
- end;
- LP_MCI_ANIM_STEP_PARMS = ^MCI_ANIM_STEP_PARMS;
-
- { parameter block for MCI_WINDOW command message}
- MCI_ANIM_WINDOW_PARMS = record
- dwCallback : LONGINT;
- hWnd : WORD;
- wReserved1 : WORD;
- nCmdShow : WORD;
- wReserved2 : WORD;
- lpstrText : POINTER;
- end;
- LP_MCI_ANIM_WINDOW_PARMS = ^MCI_ANIM_WINDOW_PARMS;
-
- { parameter block for MCI_PUT, MCI_UPDATE, MCI_WHERE command messages}
- MCI_ANIM_RECT_PARMS = record
- dwCallback : LONGINT;
- ptOffset : TPoint;
- ptExtent : TPoint;
- rc : TRect;
- end;
- LP_MCI_ANIM_RECT_PARMS = ^MCI_ANIM_RECT_PARMS;
-
- { parameter block for MCI_UPDATE PARMS}
- MCI_ANIM_UPDATE_PARMS = record
- dwCallback : LONGINT;
- rc : TRect;
- theDC : HDC ;
- end;
- LP_MCI_ANIM_UPDATE_PARMS = ^MCI_ANIM_UPDATE_PARMS;
-
-
- {}
- { MCI extensions for video overlay devices}
- {}
-
- { parameter block for MCI_OPEN command message}
- MCI_OVLY_OPEN_PARMS = record
- dwCallback : LONGINT;
- wDeviceID : WORD;
- wReserved0 : WORD;
- lpstrDeviceType : POINTER;
- lpstrElementName : POINTER;
- lpstrAlias : POINTER;
- dwStyle : LONGINT;
- hWndParent : WORD;
- wReserved1 : WORD;
- end;
- LP_MCI_OVLY_OPEN_PARMS = ^MCI_OVLY_OPEN_PARMS;
-
- { parameter block for MCI_WINDOW command message}
- MCI_OVLY_WINDOW_PARMS = record
- dwCallback : LONGINT;
- hWnd : WORD;
- wReserved1 : WORD;
- nCmdShow : WORD;
- wReserved2 : WORD;
- lpstrText : POINTER;
- end;
- LP_MCI_OVLY_WINDOW_PARMS = ^MCI_OVLY_WINDOW_PARMS;
-
- { parameter block for MCI_PUT, MCI_UPDATE, and MCI_WHERE command messages}
- MCI_OVLY_RECT_PARMS = record
- dwCallback : LONGINT;
- ptOffset : TPoint;
- ptExtent : TPoint;
- rc : TRect;
- end;
- LP_MCI_OVLY_RECT_PARMS = ^MCI_OVLY_RECT_PARMS;
-
- { parameter block for MCI_SAVE command message}
- MCI_OVLY_SAVE_PARMS = record
- dwCallback : LONGINT;
- lpfilename : POINTER;
- rc : TRect;
- end;
- LP_MCI_OVLY_SAVE_PARMS = ^MCI_OVLY_SAVE_PARMS;
-
- { parameter block for MCI_LOAD command message}
- MCI_OVLY_LOAD_PARMS = record
- dwCallback : LONGINT;
- lpfilename : POINTER;
- rc : TRect;
- end;
- LP_MCI_OVLY_LOAD_PARMS = ^MCI_OVLY_LOAD_PARMS;
-
- IMPLEMENTATION
-
- BEGIN
- END.